/*
 * main.h
 *
 *  Created on: 6 oct. 2009
 *      Author: digitalguru
 */
#include "SDLSrc/SDLToolBox.h"
#include "SDLSrc/Rectangle.h"
#include "CGrid.h"

#ifndef CSTDLIB_HEADER
	#define CSDTLIB_HEADER
	#include <cstdlib>
#endif

#ifndef IOSTREAM_HEADER
	#define IOSTREAM_HEADER
	#include <iostream>
#endif

#ifndef VECTOR_HEADER
    #include <vector>
    #define VECTOR_HEADER
#endif

#ifndef MATH_HEADER
	#include <math.h>
	#define MATH_HEADER
#endif

#ifndef SDL_HEADER
    #include <SDL/SDL.h>
    #define SDL_HEADER
#endif

CNode::CNode* GetBestNode(CNode::CNode* EndNode, CNode::CNode* CurrentNode, std::vector<CNode::CNode*> NodeList);
float ComputeScore(CNode::CNode* EndNode, CNode::CNode* CurrentNode, CNode::CNode* NextNode);
float GetPathScore(int CurrentX, int CurrentY, int NextX, int NextY);

int IsInList(CNode::CNode* ptrValue, std::vector<CNode::CNode*> NodeList);
std::vector<CNode::CNode*> RemoveFromList(CNode::CNode* ptrValue, std::vector<CNode::CNode*> NodeList);

void PathFind(CGrid::CGrid Lab);
